#ifndef HAL_UART_H_
#define HAL_UART_H_


typedef U8 hal_uart_UartNumber;



extern U8 hal_uart_getNumberOfUarts(void);
extern hal_uart_UartNumber *hal_uart_getUarts(void);
extern void hal_uart_installDataTransmittedInterruptHandler(hal_uart_UartNumber uart, void (*handler)(void *args), void *handlerArgument);
extern void hal_uart_installDataReceivedInterruptHandler(hal_uart_UartNumber uart, void (*handler)(void *args), void *handlerArgument);
extern void hal_uart_installDataErrorInterruptHandler(hal_uart_UartNumber uart, void (*handler)(void *args), void *handlerArgument);
extern void hal_uart_init(void);
extern void hal_uart_sendByte(U8 uart, U8 byte);
extern U8 hal_uart_receiveByte(U8 uart);

#endif /*HAL_UART_H_*/
